#ifndef _IWEBCLASSOBJECT_H_
#define _IWEBCLASSOBJECT_H_

#include "request.h"
#include "response.h"
#include "memory"
#include "classObject.h"
#include "classRegister.h"
#include "fileSystem.h"

namespace easyWebServer 
{
    


class IwebClassObject : public ClassObject
{
public:
    std::shared_ptr<Request> m_request;
    std::shared_ptr<Response> m_response;
    std::shared_ptr<FileSystem> m_fileSystem;
};


#define CLASSOBJECTINIT(className)\
    RIGISTERCLASS(className)\
    RIGISTERCLASSFIELD(className, m_request)\
    RIGISTERCLASSFIELD(className, m_response)\
    RIGISTERCLASSFIELD(className, m_fileSystem)\

}

#endif